package com.iwhalecloud.citybrain.flow.platform.manager.domain.repository;

import com.iwhalecloud.citybrain.flow.platform.manager.common.client.HttpFunctionConfigDto;
import com.iwhalecloud.citybrain.flow.platform.manager.domain.model.FlowFunctionConfigVo;

import java.util.List;


/**
 * 　　* @description: 自定义函数配置
 * 　　* @author lzb
 * 　　* @date 2021/10/28 16:58
 */
public interface FlowFunctionConfigRepository {

    /**
     * 保存自定义函数
     *
     * @param customFunctionConfigDto
     * @return
     */
    void saveFunctionConfig(HttpFunctionConfigDto customFunctionConfigDto);

    /**
     * 删除自定义函数
     * @param ids
     * @return 是否成功
     */
    boolean deleteFunctionConfig(List<Integer> ids);


    /**
     * 获取自定义函数
     *
     * @return PageInfo<FlowFunctionConfigVo>
     */
    List<FlowFunctionConfigVo> getAllFunctionConfigList();


    /**
     * 根据函数名称获取自定义函数配置列表
     *
     * @param customFunctionConfigDto
     * @return
     */
    List<FlowFunctionConfigVo> getFunctionConfigByFunName(HttpFunctionConfigDto customFunctionConfigDto);

    /**
     * 根据函数id获取指定函数配置
     *
     * @param funId
     * @return
     */
    FlowFunctionConfigVo getFunctionConfInfoByFunId(String funId);

    List<FlowFunctionConfigVo> queryFunctionConfig(HttpFunctionConfigDto customFunctionConfigDto);

    /**
     * 根据函数Code获取指定函数配置
     *
     * @param funCode
     * @return
     */
    FlowFunctionConfigVo getFunctionConfInfoByFunCode(String funCode);
}
